Skip to content

feat: add Zcash Orchard protocol + v5/NU6 test suite#4

Closed
BitHighlander wants to merge 2 commits into
masterfrom
feature-zcash
Closed

feat: add Zcash Orchard protocol + v5/NU6 test suite#4
BitHighlander wants to merge 2 commits into
masterfrom
feature-zcash

Conversation

@BitHighlander

Copy link
Copy Markdown
Owner

Summary

  • Add messages-zcash.proto with Orchard PCZT protocol (6 message types)
  • Update build_pb.sh to include messages-zcash in protoc build
  • Regenerate messages_pb2.py and generate messages_zcash_pb2.py (protoc 3.5.1 via Docker)
  • Add zcash_get_orchard_fvk() and zcash_sign_pczt() client methods
  • Port v5/NU6 test scripts from markrypt0 firmware integration work

Test scripts

  • test_zcash_v5_complete.py: v5 signing with script_pubkey (ZIP-244 critical fix)
  • test_zcash_nu6.py: NU6 integration test via emulator
  • test_nu6_final.py: v5 + NU6 auto-broadcast test
  • test_zcash_complete_nownodes.py: full workflow with NOWNodes API
  • verify_zip244.py: pure Python ZIP-244 sighash reference
  • zcash_rpc.py: zcashd node RPC client

Test plan

  • docker_build_pb.sh completes without errors
  • messages_zcash_pb2.py imports cleanly
  • client.zcash_get_orchard_fvk() sends ZcashGetOrchardFVK message
  • client.zcash_sign_pczt() handles ZcashPCZTActionAck streaming
  • Existing transparent zcash tests still pass

BitHighlander and others added 2 commits March 6, 2026 15:25
- Generate messages_solana_pb2.py via docker_build_pb.sh (protoc 3.5.1)
- Regenerate messages_pb2.py with Solana MessageType entries (750-755)
- Add solana_get_address, solana_sign_tx, solana_sign_message to client
- Add Solana mapping in mapping.py
- Point device-protocol submodule at feature-solana (messages-solana.proto)
- Add messages-solana to build_pb.sh proto generation list

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Protocol:
- Add messages-zcash.proto (6 message types: SignPCZT, PCZTAction,
  PCZTActionAck, SignedPCZT, GetOrchardFVK, OrchardFVK)
- Update messages.proto with Zcash message type enums (1300-1305)
- Regenerate pb2 files via Docker (protoc 3.5.1)
- Update build_pb.sh to include messages-zcash

Client:
- Add zcash_get_orchard_fvk() for Orchard Full Viewing Key derivation
- Add zcash_sign_pczt() for Orchard spend authorization with
  streaming action protocol (ZcashPCZTActionAck flow control)

Tests (from markrypt0 firmware integration work):
- test_zcash_v5_complete: v5 signing with script_pubkey (ZIP-244)
- test_zcash_nu6: NU6 integration test via emulator
- test_nu6_final: v5 + NU6 broadcast test with auto UTXO lookup
- test_zcash_complete_nownodes: full workflow with NOWNodes API
- verify_zip244: pure Python ZIP-244 sighash reference impl
- zcash_rpc: zcashd node RPC client utility
@BitHighlander
BitHighlander changed the base branch from develop to master March 23, 2026 20:14
@BitHighlander

Copy link
Copy Markdown
Owner Author

Superseded by combined release PR #13 which includes all 7.14.0 content.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant